# 控制流命令学习：pass、break、continue

# ======================
# 一、pass命令：占位符
# ======================
"""
pass是一个空操作命令，用于语法上需要语句但不需要执行任何操作的情况
常见场景：空函数/类定义、未完成的代码块
"""
print("===== 示例1：pass的占位作用 ====")

# 空函数示例（未完成的函数）
def future_function():
    pass  # 暂时没有实现，用pass占位

# 条件语句中的占位
age = 16
if age >= 18:
    print("可以投票")
else:
    pass  # 暂时不处理else分支


# ======================
# 二、break命令：终止循环
# ======================
"""
break用于立即终止当前所在的循环（for/while）
循环体中遇到break时，会直接跳出循环，不再执行后续迭代
注意：
break只能终止当前所在那一层的循环
"""
print("\n===== 示例2：break终止循环 ====")

# 跳出while True循环
while True:
    input_str = input("请输入一个偶数：")
    if input_str.isdigit():
        user_input = int(input_str)
        if user_input % 2 == 0:
            print(f"成功输入：{user_input}")
            break  # 输入偶数时跳出循环
        else:
            print("输入错误，需要偶数")
    else:
        print("输入无效，请输入数字")

# 在for循环中遇到奇数时终止
print("\n遍历列表直到遇到奇数：")
for num in [2, 4, 5, 6, 8]:
    if num % 2 != 0:
        print(f"遇到奇数{num}，终止遍历")
        break
    print(f"当前偶数：{num}")


# ======================
# 三、continue命令：跳过当前迭代
# ======================
"""
continue用于跳过当前循环迭代的剩余代码
直接进入下一次循环条件判断（for循环会取一下个元素，while循环会重新判断条件）
注意：
continue只能终止当前所在那一次的循环，还是没有跳出循环的
"""
print("\n===== 示例3：continue跳过当前迭代 ====")

# 打印1-10中的偶数（跳过奇数）
print("1-10中的偶数：")
for num in range(1, 11):
    if num % 2 != 0:
        continue  # 跳过奇数，不执行后续print
    print(num, end=" ")

# while循环中跳过特定值
print("\n\n跳过值为3的迭代：")
count = 0
while count < 5:
    count += 1
    if count == 3:
        continue  # 跳过count=3时的打印
    print(f"当前count：{count}")


# ======================
# 四、总结对比
# ======================
"""
pass：不做任何操作，仅用于语法占位
break：终止整个循环，后续迭代不再执行
continue：跳过当前迭代，继续执行后续迭代
"""